package com.sg.dto.biz.bff.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc BffQuerySpaceDashboradVersionDetailReqDto
 * @使用场景
 */
@Data
public class BffQuerySpaceDashboradVersionDetailReqDto implements Serializable {

    /**
     * 大屏类型 TOP_TARGET_PROGRESS:高层目标进度 TOP_TARGET_REACH:高层目标达成度 TOP_TARGET_SCORE:高层目标得分 TOP_TARGET_REPORT:高层目标成果汇报 TOP_TARGET_ALIGNMENT:高层目标对齐 TOP_ICONIC_ACHIEVEMENT:高层标志性成果 TOP_TARGET_BUDGET:高层目标预算 MID_TARGET_PROGRESS:中层目标进度 MID_TARGET_REACH:中层目标达成度 MID_TARGET_SCORE:中层目标得分 MID_TARGET_REPORT:中层目标成果汇报 MID_TARGET_ALIGNMENT:中层目标对齐 ROOT_TARGET_PROGRESS:基层目标进度 ROOT_TARGET_REACH:基层目标达成度 ROOT_TARGET_SCORE:基层目标得分 ROOT_TARGET_ALIGNMENT:基层目标对齐 PERSONAL_TARGET_REACH:个人目标达成度 PERSONAL_TARGET_SCORE:个人目标得分 PERSONAL_TARGET_ALIGNMENT:个人目标对齐 SUB_TARGET_REACH:下属目标达成度 SUB_TARGET_SCORE:下属目标得分 SUB_TARGET_ALIGNMENT:下属目标对齐 SUB_WORK_TASK:下属工作任务 SUB_QUESTION:下属问题导向 TOP_WORK_TASK:高层工作任务 TOP_QUESTION:高层问题导向 TOP_PROJECT_BUDGET:高层项目预算 TOP_PROJECT_PERFORMANCE:高层项目绩效 MID_WORK_TASK:中层工作任务 MID_QUESTION:中层问题导向 MID_PROJECT_BUDGET:中层项目预算 MID_PROJECT_PERFORMANCE:中层项目绩效 ROOT_WORK_TASK:基层工作任务 ROOT_QUESTION:基层问题导向 PERSONAL_WORK_TASK:个人工作任务 PERSONAL_QUESTION:个人问题导向
     */
    @NotNull(message = "大屏类型不能为空")
    @ApiModelProperty("大屏类型")
    private String dashboradTypeCode;

    /**
     * 归属周期ID
     */
    @NotNull(message = "归属周期ID不能为空")
    @ApiModelProperty("归属周期ID")
    private String cycleId;

    /**
     * 归属内容表主键ID
     */
    @NotNull(message = "归属内容表主键ID不能为空")
    @ApiModelProperty("归属内容表主键ID")
    private String entityId;

    /**
     * 角色标识
     */
    @ApiModelProperty("角色标识")
    private String roleCode;

    /**
     * 主题内容ID
     */
    @ApiModelProperty("主题内容ID")
    private String themeContentId;

    /**
     * 空间ID
     */
    @NotNull(message = "空间ID不能为空")
    @ApiModelProperty("空间ID")
    private String spaceId;

}
